{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Investigating EMNIST",
      "provenance": [],
      "toc_visible": true,
      "authorship_tag": "ABX9TyPVYSM0XpYxOxTRyPrXwk5k",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "494ca7e6cdf147ca85664c351b6906b5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_96d0371c04b14903849920f15727cec8",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_4b1748dc782a41b3bf29de0fd70d6033",
              "IPY_MODEL_eb182695d6eb49c49c84b9fabf6ba3a8"
            ]
          }
        },
        "96d0371c04b14903849920f15727cec8": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "4b1748dc782a41b3bf29de0fd70d6033": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_d8ba1da52fa9479ca5e1f03cb0bc1508",
            "_dom_classes": [],
            "description": "Dl Completed...: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_d16fe836329140d19e20045f2c2d2768"
          }
        },
        "eb182695d6eb49c49c84b9fabf6ba3a8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_a92b50dedfb941b29357a14563a04f61",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 1/1 [00:40&lt;00:00, 40.85s/ url]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_e1256d8b38b84972a8e1ba4388784b31"
          }
        },
        "d8ba1da52fa9479ca5e1f03cb0bc1508": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "d16fe836329140d19e20045f2c2d2768": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "a92b50dedfb941b29357a14563a04f61": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "e1256d8b38b84972a8e1ba4388784b31": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "d6c84eb8a1b64fa6a96d929a2ea95686": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_4619f56dc35846f0b1aa1483ba922311",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_b731fbe8d0ca4132b44844a47219606d",
              "IPY_MODEL_deea13acab8c43119ed5e96c1cb7ec8b"
            ]
          }
        },
        "4619f56dc35846f0b1aa1483ba922311": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "b731fbe8d0ca4132b44844a47219606d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_1edc7b0cb8024134b4520aaa1bfd4c0e",
            "_dom_classes": [],
            "description": "Dl Size...: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_cc37556d77db4f6cb6ae0d8ef51b36d2"
          }
        },
        "deea13acab8c43119ed5e96c1cb7ec8b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_59b4bc1f259745749976814f5e3a1d7b",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 535/535 [00:40&lt;00:00, 13.11 MiB/s]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_f467a9c10af34e49b73d0f2a27fa47d1"
          }
        },
        "1edc7b0cb8024134b4520aaa1bfd4c0e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "cc37556d77db4f6cb6ae0d8ef51b36d2": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "59b4bc1f259745749976814f5e3a1d7b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "f467a9c10af34e49b73d0f2a27fa47d1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "a31ea172923d44d891413822fd5a7d50": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_37888b89efe84b34968e3fec5b0ce264",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_ea9a53137cb74c46ba30f4ca6667ad57",
              "IPY_MODEL_e9a2b5c530144adcb98d996511ea205a"
            ]
          }
        },
        "37888b89efe84b34968e3fec5b0ce264": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "ea9a53137cb74c46ba30f4ca6667ad57": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_9a2bb1ceb1e4436ab8252eea8e94c4be",
            "_dom_classes": [],
            "description": "Extraction completed...: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_7b2a35ad6ff743388c35563aa3525775"
          }
        },
        "e9a2b5c530144adcb98d996511ea205a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_074375ae9f5d42e89dc5052106d737c4",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 1/1 [00:46&lt;00:00, 46.75s/ file]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_bd5fd2d79e0e45e4a3d6144caecb9d3f"
          }
        },
        "9a2bb1ceb1e4436ab8252eea8e94c4be": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "7b2a35ad6ff743388c35563aa3525775": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "074375ae9f5d42e89dc5052106d737c4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "bd5fd2d79e0e45e4a3d6144caecb9d3f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "0340eaf09dd040399dd0db7bcb98981a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_eaff1233f3e14e9c9db4608367cb83a1",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_12d002a07d404667ada482b7cc7d439c",
              "IPY_MODEL_319d328bfa504369be088d39f9b1021f"
            ]
          }
        },
        "eaff1233f3e14e9c9db4608367cb83a1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "12d002a07d404667ada482b7cc7d439c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_2e4b611ca33c4a47afe984a007febc8e",
            "_dom_classes": [],
            "description": "Extraction completed...: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_1f8426781d834599bd3322e8c8cc1acd"
          }
        },
        "319d328bfa504369be088d39f9b1021f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_29559774964e4219bda47c891521e433",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 4/4 [00:05&lt;00:00,  1.49s/ file]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_7a3ab6e46311405c96e6d2fea77afd49"
          }
        },
        "2e4b611ca33c4a47afe984a007febc8e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "1f8426781d834599bd3322e8c8cc1acd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "29559774964e4219bda47c891521e433": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "7a3ab6e46311405c96e6d2fea77afd49": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "7a78daa1797241c4acdeea05c0de6d97": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_00f9d83c28304698a0209c8febe791e9",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_e0372affefaf4bcc987e7e0254c4351f",
              "IPY_MODEL_6d2c677c07ba4b44bd4e9dbf8abdc531"
            ]
          }
        },
        "00f9d83c28304698a0209c8febe791e9": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "e0372affefaf4bcc987e7e0254c4351f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_fc6954fa3a094f24be0cc29bd84eb4fb",
            "_dom_classes": [],
            "description": "",
            "_model_name": "FloatProgressModel",
            "bar_style": "info",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_3d9c3ef7cca242d58fd94ad436f5a00c"
          }
        },
        "6d2c677c07ba4b44bd4e9dbf8abdc531": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_ba566e15861e4ddd914989145a290ca6",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 697932/0 [04:34&lt;00:00, 2549.33 examples/s]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_01b33a80d66e485ab9fc9938be83ee5d"
          }
        },
        "fc6954fa3a094f24be0cc29bd84eb4fb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "3d9c3ef7cca242d58fd94ad436f5a00c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "ba566e15861e4ddd914989145a290ca6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "01b33a80d66e485ab9fc9938be83ee5d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "4b0483408ad94976a3aeeab81c119a18": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_060a82d993434c21a2780b1a2edfff68",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_7a29615077e343b6b49574e52a2aadc2",
              "IPY_MODEL_271e3628bba5460592b3f4b6b8eb0cb9"
            ]
          }
        },
        "060a82d993434c21a2780b1a2edfff68": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "7a29615077e343b6b49574e52a2aadc2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_f924420d85564651b8f57eac1514ba39",
            "_dom_classes": [],
            "description": "100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "danger",
            "max": 697932,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 696841,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_a0d0282d6f0b459780d5c8805eea1b02"
          }
        },
        "271e3628bba5460592b3f4b6b8eb0cb9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_b80ba39c1c88466d9bcb9c1d68abf784",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 696841/697932 [00:04&lt;00:00, 9303.44 examples/s]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_59f049ec2eee4a03aedb85c0193b50fc"
          }
        },
        "f924420d85564651b8f57eac1514ba39": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "a0d0282d6f0b459780d5c8805eea1b02": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "b80ba39c1c88466d9bcb9c1d68abf784": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "59f049ec2eee4a03aedb85c0193b50fc": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "c53c0a48356a461da9c6e30cddc161e1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_80373f87e1814432a004835c11fd0029",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_9f61b0d70981435c933aede2d7408426",
              "IPY_MODEL_dbce8a96e1e9482ba19527deb1977668"
            ]
          }
        },
        "80373f87e1814432a004835c11fd0029": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "9f61b0d70981435c933aede2d7408426": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_463c64fd1e0742aebc3e5b04898a16a5",
            "_dom_classes": [],
            "description": "",
            "_model_name": "FloatProgressModel",
            "bar_style": "info",
            "max": 1,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 1,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_09219236be194f05a3f1bf6339f284f7"
          }
        },
        "dbce8a96e1e9482ba19527deb1977668": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_34a048ffbcb74bc2b8bfddfafb831ac6",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 116323/0 [00:46&lt;00:00, 2597.57 examples/s]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_b7804a7fad5140879d41b1056dbbdf62"
          }
        },
        "463c64fd1e0742aebc3e5b04898a16a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "09219236be194f05a3f1bf6339f284f7": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "34a048ffbcb74bc2b8bfddfafb831ac6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "b7804a7fad5140879d41b1056dbbdf62": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "a0c17b8d11bf4b1893a59be0472f31cc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_2dfec23e8abc4c928b44f95077df44c0",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_ff7090fe05ab47f5b40dace32a6cfb58",
              "IPY_MODEL_735f321368d947cb9faba2bd17b9a0d8"
            ]
          }
        },
        "2dfec23e8abc4c928b44f95077df44c0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "ff7090fe05ab47f5b40dace32a6cfb58": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_d78af60f184a4c58aa3a83b2e00dd0ce",
            "_dom_classes": [],
            "description": " 85%",
            "_model_name": "FloatProgressModel",
            "bar_style": "danger",
            "max": 116323,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 98675,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_7eee6134a6874ae99f2ac391fa821079"
          }
        },
        "735f321368d947cb9faba2bd17b9a0d8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_e47a83b9a5b24ab29a419861d15144af",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 98675/116323 [00:00&lt;20:10, 14.57 examples/s]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_1045017fd3084bacadbff1dbd431340b"
          }
        },
        "d78af60f184a4c58aa3a83b2e00dd0ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "7eee6134a6874ae99f2ac391fa821079": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "e47a83b9a5b24ab29a419861d15144af": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "1045017fd3084bacadbff1dbd431340b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        }
      }
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/wandb/awesome-dl-projects/blob/master/ml-tutorial/Investigating_EMNIST.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LHCCGutqrj-r",
        "colab_type": "text"
      },
      "source": [
        "## Imports and Setups"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bauAqubCyPhb",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "894043a1-1e58-44ad-ee0f-02a85dc537b9"
      },
      "source": [
        "import tensorflow as tf\n",
        "print(tf.__version__)"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "2.3.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WwZMe8Ey0LYE",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import tensorflow_datasets as tfds\n",
        "\n",
        "from tqdm import tqdm\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NIwV4lmK0e-g",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "%%capture\n",
        "!pip install wandb"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_tLC3FlI0jdC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 71
        },
        "outputId": "dce2a942-cae0-4442-e280-bb0200b02eb4"
      },
      "source": [
        "import wandb\n",
        "\n",
        "wandb.login()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "application/javascript": [
              "\n",
              "        window._wandbApiKey = new Promise((resolve, reject) => {\n",
              "            function loadScript(url) {\n",
              "            return new Promise(function(resolve, reject) {\n",
              "                let newScript = document.createElement(\"script\");\n",
              "                newScript.onerror = reject;\n",
              "                newScript.onload = resolve;\n",
              "                document.body.appendChild(newScript);\n",
              "                newScript.src = url;\n",
              "            });\n",
              "            }\n",
              "            loadScript(\"https://cdn.jsdelivr.net/npm/postmate/build/postmate.min.js\").then(() => {\n",
              "            const iframe = document.createElement('iframe')\n",
              "            iframe.style.cssText = \"width:0;height:0;border:none\"\n",
              "            document.body.appendChild(iframe)\n",
              "            const handshake = new Postmate({\n",
              "                container: iframe,\n",
              "                url: 'https://app.wandb.ai/authorize'\n",
              "            });\n",
              "            const timeout = setTimeout(() => reject(\"Couldn't auto authenticate\"), 5000)\n",
              "            handshake.then(function(child) {\n",
              "                child.on('authorize', data => {\n",
              "                    clearTimeout(timeout)\n",
              "                    resolve(data)\n",
              "                });\n",
              "            });\n",
              "            })\n",
              "        });\n",
              "    "
            ],
            "text/plain": [
              "<IPython.core.display.Javascript object>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\u001b[34m\u001b[1mwandb\u001b[0m: Appending key for api.wandb.ai to your netrc file: /root/.netrc\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "True"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Eve5UIHf4LEf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 88
        },
        "outputId": "56c79c0d-a8b1-4393-cfed-7350f37a88ee"
      },
      "source": [
        "wandb.init(entity='iit-bhu', project='investigate-emnist')"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "\n",
              "                Logging results to <a href=\"https://wandb.com\" target=\"_blank\">Weights & Biases</a> <a href=\"https://docs.wandb.com/integrations/jupyter.html\" target=\"_blank\">(Documentation)</a>.<br/>\n",
              "                Project page: <a href=\"https://app.wandb.ai/iit-bhu/investigate-emnist\" target=\"_blank\">https://app.wandb.ai/iit-bhu/investigate-emnist</a><br/>\n",
              "                Run page: <a href=\"https://app.wandb.ai/iit-bhu/investigate-emnist/runs/st8lz0wd\" target=\"_blank\">https://app.wandb.ai/iit-bhu/investigate-emnist/runs/st8lz0wd</a><br/>\n",
              "            "
            ],
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "W&B Run: https://app.wandb.ai/iit-bhu/investigate-emnist/runs/st8lz0wd"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "81wdbm8TW7NL",
        "colab_type": "text"
      },
      "source": [
        "> Note: Do not change `entity` and `project` to ensure all the runs are logged on one dashboard."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "M_C6x2qUrnSu",
        "colab_type": "text"
      },
      "source": [
        "## Download EMNIST and Minor Investigation"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "T7KbDzcP0iXX",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 968,
          "referenced_widgets": [
            "494ca7e6cdf147ca85664c351b6906b5",
            "96d0371c04b14903849920f15727cec8",
            "4b1748dc782a41b3bf29de0fd70d6033",
            "eb182695d6eb49c49c84b9fabf6ba3a8",
            "d8ba1da52fa9479ca5e1f03cb0bc1508",
            "d16fe836329140d19e20045f2c2d2768",
            "a92b50dedfb941b29357a14563a04f61",
            "e1256d8b38b84972a8e1ba4388784b31",
            "d6c84eb8a1b64fa6a96d929a2ea95686",
            "4619f56dc35846f0b1aa1483ba922311",
            "b731fbe8d0ca4132b44844a47219606d",
            "deea13acab8c43119ed5e96c1cb7ec8b",
            "1edc7b0cb8024134b4520aaa1bfd4c0e",
            "cc37556d77db4f6cb6ae0d8ef51b36d2",
            "59b4bc1f259745749976814f5e3a1d7b",
            "f467a9c10af34e49b73d0f2a27fa47d1",
            "a31ea172923d44d891413822fd5a7d50",
            "37888b89efe84b34968e3fec5b0ce264",
            "ea9a53137cb74c46ba30f4ca6667ad57",
            "e9a2b5c530144adcb98d996511ea205a",
            "9a2bb1ceb1e4436ab8252eea8e94c4be",
            "7b2a35ad6ff743388c35563aa3525775",
            "074375ae9f5d42e89dc5052106d737c4",
            "bd5fd2d79e0e45e4a3d6144caecb9d3f",
            "0340eaf09dd040399dd0db7bcb98981a",
            "eaff1233f3e14e9c9db4608367cb83a1",
            "12d002a07d404667ada482b7cc7d439c",
            "319d328bfa504369be088d39f9b1021f",
            "2e4b611ca33c4a47afe984a007febc8e",
            "1f8426781d834599bd3322e8c8cc1acd",
            "29559774964e4219bda47c891521e433",
            "7a3ab6e46311405c96e6d2fea77afd49",
            "7a78daa1797241c4acdeea05c0de6d97",
            "00f9d83c28304698a0209c8febe791e9",
            "e0372affefaf4bcc987e7e0254c4351f",
            "6d2c677c07ba4b44bd4e9dbf8abdc531",
            "fc6954fa3a094f24be0cc29bd84eb4fb",
            "3d9c3ef7cca242d58fd94ad436f5a00c",
            "ba566e15861e4ddd914989145a290ca6",
            "01b33a80d66e485ab9fc9938be83ee5d",
            "4b0483408ad94976a3aeeab81c119a18",
            "060a82d993434c21a2780b1a2edfff68",
            "7a29615077e343b6b49574e52a2aadc2",
            "271e3628bba5460592b3f4b6b8eb0cb9",
            "f924420d85564651b8f57eac1514ba39",
            "a0d0282d6f0b459780d5c8805eea1b02",
            "b80ba39c1c88466d9bcb9c1d68abf784",
            "59f049ec2eee4a03aedb85c0193b50fc",
            "c53c0a48356a461da9c6e30cddc161e1",
            "80373f87e1814432a004835c11fd0029",
            "9f61b0d70981435c933aede2d7408426",
            "dbce8a96e1e9482ba19527deb1977668",
            "463c64fd1e0742aebc3e5b04898a16a5",
            "09219236be194f05a3f1bf6339f284f7",
            "34a048ffbcb74bc2b8bfddfafb831ac6",
            "b7804a7fad5140879d41b1056dbbdf62",
            "a0c17b8d11bf4b1893a59be0472f31cc",
            "2dfec23e8abc4c928b44f95077df44c0",
            "ff7090fe05ab47f5b40dace32a6cfb58",
            "735f321368d947cb9faba2bd17b9a0d8",
            "d78af60f184a4c58aa3a83b2e00dd0ce",
            "7eee6134a6874ae99f2ac391fa821079",
            "e47a83b9a5b24ab29a419861d15144af",
            "1045017fd3084bacadbff1dbd431340b"
          ]
        },
        "outputId": "1d5eee37-0da6-4e56-8b26-571f73fd9d5e"
      },
      "source": [
        "# Gather Flowers dataset\n",
        "(train_ds, validation_ds) = tfds.load(\n",
        "    \"emnist/bymerge\",\n",
        "    split=[\"train[:85%]\", \"train[85%:]\"],\n",
        "    as_supervised=True\n",
        ")\n",
        "\n",
        "builder = tfds.builder('emnist/bymerge')\n",
        "builder.info"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "\u001b[1mDownloading and preparing dataset emnist/bymerge/3.0.0 (download: 535.73 MiB, generated: Unknown size, total: 535.73 MiB) to /root/tensorflow_datasets/emnist/bymerge/3.0.0...\u001b[0m\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "494ca7e6cdf147ca85664c351b6906b5",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Dl Completed...', max=1.0, style=Progre…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "d6c84eb8a1b64fa6a96d929a2ea95686",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Dl Size...', max=1.0, style=ProgressSty…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a31ea172923d44d891413822fd5a7d50",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Extraction completed...', max=1.0, styl…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n",
            "  InsecureRequestWarning)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "\n",
            "\n",
            "\n",
            "\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "0340eaf09dd040399dd0db7bcb98981a",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Extraction completed...', max=1.0, styl…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "7a78daa1797241c4acdeea05c0de6d97",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\rShuffling and writing examples to /root/tensorflow_datasets/emnist/bymerge/3.0.0.incompleteGPNTPD/emnist-train.tfrecord\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "4b0483408ad94976a3aeeab81c119a18",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=697932.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\r"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "c53c0a48356a461da9c6e30cddc161e1",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\rShuffling and writing examples to /root/tensorflow_datasets/emnist/bymerge/3.0.0.incompleteGPNTPD/emnist-test.tfrecord\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a0c17b8d11bf4b1893a59be0472f31cc",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=116323.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\u001b[1mDataset emnist downloaded and prepared to /root/tensorflow_datasets/emnist/bymerge/3.0.0. Subsequent calls will reuse this data.\u001b[0m\n",
            "\r"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "tfds.core.DatasetInfo(\n",
              "    name='emnist',\n",
              "    version=3.0.0,\n",
              "    description='The EMNIST dataset is a set of handwritten character digits derived from the NIST Special Database 19 and converted to a 28x28 pixel image format and dataset structure that directly matches the MNIST dataset.\n",
              "\n",
              "Note: Like the original EMNIST data, images provided here are inverted horizontally and rotated 90 anti-clockwise. You can use `tf.transpose` within `ds.map` to convert the images to a human-friendlier format.',\n",
              "    homepage='https://www.nist.gov/itl/products-and-services/emnist-dataset',\n",
              "    features=FeaturesDict({\n",
              "        'image': Image(shape=(28, 28, 1), dtype=tf.uint8),\n",
              "        'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=47),\n",
              "    }),\n",
              "    total_num_examples=814255,\n",
              "    splits={\n",
              "        'test': 116323,\n",
              "        'train': 697932,\n",
              "    },\n",
              "    supervised_keys=('image', 'label'),\n",
              "    citation=\"\"\"@article{cohen_afshar_tapson_schaik_2017,\n",
              "        title={EMNIST: Extending MNIST to handwritten letters},\n",
              "        DOI={10.1109/ijcnn.2017.7966217},\n",
              "        journal={2017 International Joint Conference on Neural Networks (IJCNN)},\n",
              "        author={Cohen, Gregory and Afshar, Saeed and Tapson, Jonathan and Schaik, Andre Van},\n",
              "        year={2017}\n",
              "    }\"\"\",\n",
              "    redistribution_info=,\n",
              ")"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "GL7VBxuLqX7Y",
        "colab_type": "text"
      },
      "source": [
        "### Points to note:\n",
        "\n",
        "* We are using `bymerge` dataset of EMNIST. Here labels like `j`, `o`, `i` etc which look alike `J`, `O`, `I` are merged. \n",
        "\n",
        "* The EMNIST images provided here are inverted horizontally and rotated 90 anti-clockwise. We don't want to use it in this configuration. Thus we will rotate back the image by 90 deg clockwise. \n",
        "\n",
        "* We have total of 814255 images. They are 28x28 pixels in resolution with only one channel.\n",
        "\n",
        "* We have 697932 images as training data.\n",
        "\n",
        "* We have 116323 images as testing data.\n",
        "\n",
        "* We have 47 classes. \n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QfFWriVto6G3",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "5c513501-3d63-443e-f02f-65af6cda8fd4"
      },
      "source": [
        "LABELS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', \n",
        "          'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n",
        "          'a', 'b', 'd', 'e', 'f', 'g', 'h', 'n', 'q', 'r', 't']\n",
        "len(LABELS)"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "47"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WeRn8ZQ_rrtz",
        "colab_type": "text"
      },
      "source": [
        "## Raw Visualization"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TXXMU9mZ0l8K",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 591
        },
        "outputId": "48b2923c-2ce2-4c3d-daed-d23cb5a95126"
      },
      "source": [
        "# Visualization\n",
        "plt.figure(figsize=(10, 10))\n",
        "for i, (image, label) in enumerate(train_ds.take(9)):\n",
        "  ax = plt.subplot(3, 3, i + 1)\n",
        "  plt.imshow(tf.squeeze(image, axis=2), cmap='gray')\n",
        "  plt.title(LABELS[int(label)])\n",
        "  plt.axis(\"off\")\n",
        "\n",
        "wandb.log({'emnist-raw': plt})"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x720 with 9 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6BNpPDFAruNE",
        "colab_type": "text"
      },
      "source": [
        "## Simple `tf.data` dataloader\n",
        "\n",
        "(Used for human friendly visualization)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kFzES4Xa2DTA",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "## We are transposing to rotate the image by 90 deg clockwise making the images friendly to visualize.\n",
        "def transpose(image, label):\n",
        "  image = tf.transpose(image, [1,0,2])\n",
        "  return image, label\n",
        "\n",
        "trainloader = (\n",
        "    train_ds\n",
        "    .shuffle(1024)\n",
        "    .map(transpose, num_parallel_calls=tf.data.experimental.AUTOTUNE)\n",
        "    .batch(32)\n",
        "    .prefetch(tf.data.experimental.AUTOTUNE)\n",
        ")"
      ],
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0Il96w-6sCk9",
        "colab_type": "text"
      },
      "source": [
        "#### Quick Visualization\n",
        "(Run the cell below multiple times to visualize different images.)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0ekU0Gj3kU4c",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 591
        },
        "outputId": "ba9435fc-6909-425e-b7d2-323fce8966b3"
      },
      "source": [
        "imgs, labels = next(iter(trainloader))\n",
        "\n",
        "plt.figure(figsize=(10, 10))\n",
        "for n in range(25):\n",
        "    ax = plt.subplot(5, 5, n+1)\n",
        "    plt.imshow(tf.squeeze(imgs[n], axis=2), cmap='gray')\n",
        "    plt.title(LABELS[int(labels[n])])\n",
        "    plt.axis('off')\n",
        "\n",
        "wandb.log({'emnist-transposed': plt})"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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hw4W8zocvl8AYPr06Rbzmqy1a9d644q1m7hmckRERCRKesgRERGRKOU8XcVdFgF/A8yuXbum/HucogqnMrNJUYVT7ixVauzWW2/1xhXr9NyuwiWLp512mneMO+Ny52gAeO211yzO5jUOr+2+++5r8VFHHWVxWNr6ySefWPz6669bXFmmtkN8rx5zzDEWt2jRwhv3zDPPWJxtepHvOU4RcxoLAIYOHVrq3//JT37ifc3nzt3T69at641Tuio3wvLsTMu1+d7673//a3G4Ke5jjz1mMXdXvuaaa7xxJ510ksXhtebOvbz0IOaO5pwODF8P7izObQTCe278+PEWczf6YupqnI5mckRERCRKesgRERGRKOUkXcXpA17RHX7N47giBgBeeOEFizds2JDRz+XqnrLg6UveIJIrbqR0nALijTfDDRQ5DfXFF194x8o7fRxu6shdc3nzuXBK/a233rI4rPiqDML0Haeo7r77bovDlBRP/eeiGo6FFXBc0TNs2DCLw01e27RpY3G6jrtSmMIuzNypmj8veCNWwN8omTcTBfwUOVfthZVhMeHPu3CZB6f9eLPNkSNHeuO4s3GMG6Dq00FERESipIccERERiZIeckRERCRKOVmTw12NH374Ye9YWFL+nYceesj7+p577inzzw13Jm7WrFmp48K8/+zZsy3m8tjKWkpcFrz+gbuP1qtXzxvH65t413Eg89eZ13Dx+yi87scff7zFW7ZsKfXvAH55ef/+/S1+7rnnvHGxlpyGa1d4N/CWLVtaPGnSJG/cmjVrKvbECF+zAw44wGIuD5bc2X331L8C8vV5yPdf2BGbOyDzOjLAL6GuWrVqBZ1dfoXrULl9Rrgeln/v8Vom7moM7NzZODaayREREZEo6SFHREREopR1uopTCVyqxqWdIS5PC1MY2ZSuff75597XXJZes2ZNi8N01UsvvWSxUlTZS7epI296mel0aJhe4ulXTq3ceOONKb/HbbfdZnG4aeiAAQMsPvfccy3mjf2AytNKgK8fT4NzWg8ATj75ZIvHjRvnHePN/sL7jPH7g1MkTZs29cbxZ8kNN9xgMXfXDmXafbeyClMcrVu3tpg7CAP+fTt8+HCLC+U15nLwsA1JuvdfLMI0HC8Z4A7HgP/7cdq0aRZzV2Mgns7GqWgmR0RERKKkhxwRERGJUtbpKq6o4s6knCYC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l+y4L+sCOBfAzPyemWQj9nszur2rnHNDAQwJ/vjmJEmG7vqzkfJwzjVEyeK3jgC2o2RB3E1JkkzI64lJme24ls8B6IaS/7n6HMCfkiR5OK8nJllxznVHyeLjbii5N/8F4IokSZbl9cSkzGK/N6N7yBEREREBIkxXiYiIiAB6yBEREZFI6SFHREREoqSHHBEREYmSHnJEREQkSmn7xzjnVHqVB0mSVEizO13P/KiI66lrmR+6N+OiezMeqa6lZnJEREQkSuoELBVu9939t9m3335baiwiIpJLmskRERGRKOkhR0RERKKkhxwRERGJUqVYk+Ocv+i6QYMGFtetW9fiNWvWeONWrlxpsfb42lmVKlUs7tevn3esd+/eFvfv3987Nn36dIsvueQSi7du3ZrrU5QsVKtWzft6r732srhOnToV+rO/+eYbizdu3Gjx6tWrU46TXW+33XYrNQ7pOhUXvpZ77rmnd6xx48YWh+ssU+Hrv2TJEu/Yrvq810yOiIiIREkPOSIiIhIlly4NE0tTo0aNGnlf33bbbRYffvjhFr/xxhveuBtuuMHiFStWVNDZ7ayQG47xFOaAAQMs/v3vf++Na9WqlcV77LGHd2zDhg0Wn3DCCRbPnj3bGxemKL5TbFPghdpwjNO4VatWtbhDhw7euPbt21vcuXNn71i6VEU21q1bZ/Fnn31m8XvvveeN+/LLLy3etm1bTs8hnUK+N3OhYcOGFvfs2dPi8Lp369bN4i5duljM1w8AJk6caPHjjz9u8QcffOCNy9dygEK9NytSmI5u1qyZxXxde/To4Y378Y9/bDGnsNPhJSD8excAxo4da3EuWomoGaCIiIhUKnrIERERkShFVV3F0++cVunbt6837sQTT7SYU1nh1DtXXu3KdFUh4VQFAAwdOtTi008/3eIwhfTFF1+k/J5NmjSxePz48RaH1W2crlq/fr3FPM0JZDfVydPq48aN846tWrUq5TntytRIRePUxKGHHmoxX2PAn86uV6+edyysXCwvfn05rfn+++974y666CKLFy1aZPH27dtzej4xatOmjcVHHHGEd4zTznvvvbfF4Wdjpinjgw46yGK+Zr169fLGzZw502JVsuZG9erVLd53330tPuWUU7xxvGSgZcuWFof3eqYVVezrr7+2mFNhAPDyyy9bXJGd7zWTIyIiIlHSQ46IiIhE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KSrcfgHwO4szXm8H+O0i+Fi+dhco7rtcREREJAU95IiIiEiUCjJdxRv9AX6qgjushnhDsrVr11ocTrtJ4eD0RzidySXkvXr1svjMM8/0xt1xxx0Wh2kSKQyZXhdOn/AmnGH56eGHH24xT4m3aNHCGxemqIod/3u4czgAXHfddRZzimrTpk3euHvuucfiSZMmecf+8pe/WMwl/FdffbU37p///KfFYaddiUOm6d3w/bVw4UKLN27cmPsTKyPN5IiIiEiU9JAjIiIiUSrIdFW4CeApp5xiMaeywsoO7qQ7a9Ysiyt6YzDJjerVq3tfc0danjrdsGHDLjunmPBGm4CfZuB7KZuN/X4IXz/uwBtu5NmtWzeLeWNejgHgtNNOs5g3FE2Xngo7na9bt87iQk5z8r/pjDPOsJhTS4D/2chVi+edd543jo+F1/r444+3ePz48RZ36dLFG8eb53K6WOJRr1497+vOnTtbzO9JTk8B/ma3nHLOF83kiIiISJT0kCMiIiJR0kOOiIiIRKlg1uRwnv6oo47yju27776l/p1wt+Rnn33W4qlTp1qsNTk/jHOsvBM0l+IDqTvXZqt9+/YWDx061DvGrQMWLFhgcbgWoZDXU+Qbl32Ga934deMS7YrY1Z13u65Vq5bFffr08cbxbuO8DofX3QD+egH+7AjXmPC6o08++cQ7xl8X8jqvtm3bWvzQQw9ZHJb0PvnkkxZfdNFFFoclvul8+umnFo8YMcLiX//61964c845x+K77rrLYt2LxY27aPft29c7xm0beK3N/fff742bMmWKxYXwftBMjoiIiERJDzkiIiISpYJJV/HGm82bN095jC1atMj7+t1337U4TGVJeg0aNLD4qquusvgPf/hDzn8Wl4pziurUU0/9/9u792CpqiuP42uPSuSNgqgYfGB8oxiDBl/4KI2OSgSNpYCiqYmJiFbppAwm+AgCjhpNoYYx0cREAUVjBJWARlNRVHAqTgCfiBkRU4ogorziO2f+UJa/vb3dNvf2vd133++nKlWrOZvmeE+fvid77bV2NE47WM+ZM8fjtPstYprG0Ot64YUXRuMOOOAAj1sypav3c7q5n06Xl9tAU9NS+jlZtGhRNG7BggUeT5w4MTqmY+upa6+m9szM9ttvP4/13tGWGWZm1157rccbk6JSmrbWtGKqtW9uis/pPde/f3+P0++LHj16eDx//nyPNT1l9sWS8lrjkwoAALLEQw4AAMhS3aSrdNo6rbjQ6gldrf3oo49G45YtW9bgOHy5bt26eawVLunUeWN87Wtfi15ffvnlHmsH17QyZty4cR5rBQfVcuVpKqFr164ea9rDLK5sq3dpt+KXXnrJ43IpKf1OeOutt6JjzdHZuRp69+4dvR49erTHWtVyyimnROO0MqocvafTqrXjjz/e45EjRzb4d8yoXq0Xmmrq3LlzdEy/01V6LQcMGOCxpqh23333aNzSpUs91vvs9ddfj8bV2+9eZnIAAECWeMgBAABZ4iEHAABkqW7W5Oi6mzS3WMratWuj1x999FFVz6mt0hLfQYMGRcc076+51549e0bjtFtmWoaupYivvPKKxxMmTIjG3XnnnR5rmTDyka7n0G7L+vl6+eWXo3HTp0/3eOHChSXH6eemXtfgbAwt6z7kkEOiY7rWQn+Oui7LzOziiy/2+NBDD42O6b25cuVKj2fPnh2NGzVqlMesyWk5aen+t771LY+1Q7yZ2cCBAxv8e9omwCxeu6NrtNI2BLfffrvHev/V+3czMzkAACBLPOQAAIAs1U26SqXTnzrNrKWka9asabFzakt0OjOdzp45c6bHHTp08DjdwE+nSrfaaqvo2Pr16z3Wjsf33ntvNK7ep0Hrld4/7777rsfaNdosvs7t2rXzOO1CrKnklG7gqvdmOiWuU996fs8//3w0Trv46v395z//ORq3ePFijzVN3Rybi7a0N998M3qt95y2AUjTwFpertKO8Vqinl4nTVFp6XqarqLreG2k6ap+/fp5nKYvd9ttt4reU++ZV1991ePJkydH42677TaPG9tRuxaYyQEAAFniIQcAAGSJhxwAAJClulmTU27tgJaKa35ay9jM6q+ddGuiP39t2T5ixIhonK616dixo8dprlhz+2PHjo2O6XXTNRg5lPjWA13z8vbbb3s8ZsyYaJyWi2pp8mGHHRaNK7cb9YsvvujxihUrPNZ282bxzsS6BkDX9JjFn0P9PLSlezvdwmLSpEke6z130kknReN69erlsa5TWrVqVTROW/LPnTs3OvbEE094nG6DgdpL16tq+4R0OxD9TtY4fQ/9Dp46darHDz/8cDSuNa3DUczkAACALPGQAwAAshTKpQhCCC2WP9BSxu7du0fHdLpcyyvTad1cFEUR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\n",
            "text/plain": [
              "<Figure size 720x720 with 25 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "63hnPxvvsgO5",
        "colab_type": "text"
      },
      "source": [
        "## Class Distribution"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "08bXFThnopzM",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def get_label(image, label):\n",
        "  return label\n",
        "\n",
        "trainloader = (\n",
        "    train_ds\n",
        "    .map(get_label, num_parallel_calls=tf.data.experimental.AUTOTUNE)\n",
        "    # .batch(32)\n",
        "    .prefetch(tf.data.experimental.AUTOTUNE)\n",
        ")"
      ],
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "q3VDEs6Lszf8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "distribution_counter = np.zeros(len(LABELS))"
      ],
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "puS0wURyty2l",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "103538a5-1d59-4c8a-97cb-e5a6bef35c6d"
      },
      "source": [
        "for label in tqdm(trainloader):\n",
        "  label = label.numpy()\n",
        "  distribution_counter[label] = distribution_counter[label]+1"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "593242it [02:34, 3833.21it/s]\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zYYmPiJjt7KQ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 128
        },
        "outputId": "ce5c0b6b-fbf7-41f5-efc5-53ef68b2cb0a"
      },
      "source": [
        "distribution_counter"
      ],
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([29440., 32523., 29196., 29914., 28542., 26591., 29055., 30652.,\n",
              "       28808., 28813.,  5469.,  3291., 11033.,  3949.,  4197.,  7718.,\n",
              "        2144.,  2632., 12500.,  4871.,  4277., 17329.,  9882.,  6983.,\n",
              "       23462.,  9103.,  2219.,  4302., 20083.,  8283., 13049.,  6457.,\n",
              "        6238.,  4759.,  6083.,  4618.,  8510.,  4321.,  8640., 20915.,\n",
              "        2158.,  3135.,  7391.,  9702.,  2521., 11970., 15514.])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kpyichu98JFU",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 397
        },
        "outputId": "ccd14903-39c6-42d9-e5f8-7caf78a1c691"
      },
      "source": [
        "plt.figure(figsize=(18, 7))\n",
        "plt.bar(LABELS, distribution_counter)\n",
        "\n",
        "plt.savefig('class_distribution.png')"
      ],
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1296x504 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Z_wTCMHVCfTk",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "wandb.log({'class-distribution-image': [wandb.Image('class_distribution.png')]})"
      ],
      "execution_count": 16,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "jwhuKBJh7veI",
        "colab_type": "text"
      },
      "source": [
        "> Note: Click on the Run Page link generated after running `wandb.init()`. "
      ]
    }
  ]
}